# 8 函数
from bean.is_number import is_number as isNum


# 定义
def greet_user():
    # 函数的“文档字符串”，用于描述函数作用。
    """显示简单问候语"""
    print("Hello!")


greet_user()


# 传参
def describe_pet(animal_type, pet_name):
    print("I have a %s" % animal_type)
    print("It's named %s" % pet_name)


# 位置实参
describe_pet('dog', '旺财')
# 关键字实参
describe_pet(animal_type='cat', pet_name='V仔')


# 使用默认值
def describe_pet(pet_name, animal_type='snake'):
    print("I have a %s" % animal_type)
    print("It's named %s" % pet_name)


describe_pet('阿帕怪')

print()


# 8.3 返回值 —— 使用return
def get_formmated_name(first, last):
    return f'{first} {last}'.title()


print(get_formmated_name("kar", "deng"))


# 8.5 不定参数 —— 单个星号*，实际是一个元组tuple
def make_pizza(*toppings):
    """打印配料"""
    print(toppings)


make_pizza("pepperoni")
make_pizza()
make_pizza('mushrooms', 'green peppers', 'extra chees')

print()


# 8.5.2 不定关键字参数 —— 双星号**，实际是一个字典
def build_profile(first, last, **user_info):
    """创建一个字典，保存用户信息"""
    user_info['first_name'] = first
    user_info['last_name'] = last
    return user_info


print(
    build_profile('albert', 'einstein', location='princeton', field='physics'))

print()

# 导入其他模块
# import bean.is_number

# 只导入个别函数
# from bean.is_number import is_number

# 使用*导入所有
# from bean.is_number import *

# 使用 as 取别名
# from bean.is_number import is_number as isNum

print(isNum('十'))  # True
print(isNum('十三'))  # False
